/**
 * 模拟数据工具
 * 用于在没有后端的情况下测试前端功能
 */

// 模拟新闻数据
export const mockNewsList = [
  {
    id: 1,
    title: "智慧农业技术助力春耕生产，无人机播种效率提升300%",
    summary: "随着科技的发展，智慧农业技术在春耕生产中发挥着越来越重要的作用。无人机播种技术的应用，不仅提高了播种效率，还降低了人工成本。",
    content: `<p>随着科技的发展，智慧农业技术在春耕生产中发挥着越来越重要的作用。无人机播种技术的应用，不仅提高了播种效率，还降低了人工成本。</p>

<p>据统计，使用无人机播种相比传统人工播种，效率提升了300%，同时播种精度也大大提高。农民张师傅表示："以前播种一亩地需要半天时间，现在用无人机只需要几分钟就能完成。"</p>

<p>专家指出，智慧农业技术的推广应用，将为现代农业发展注入新的活力，助力农业现代化进程。</p>`,
    coverImage: "https://picsum.photos/400/300?random=1",
    author: "农业科技报",
    publishTime: "2024-01-15T10:30:00Z",
    viewCount: 1250,
    likeCount: 89,
    commentCount: 23,
    isLiked: false
  },
  {
    id: 2,
    title: "新型温室大棚管理系统上线，实现远程智能控制",
    summary: "最新研发的温室大棚管理系统正式上线，农户可通过手机APP实现对大棚环境的远程监控和智能控制，大大提高了管理效率。",
    content: `<p>最新研发的温室大棚管理系统正式上线，农户可通过手机APP实现对大棚环境的远程监控和智能控制，大大提高了管理效率。</p>

<p>该系统集成了温度、湿度、光照、土壤等多种传感器，能够实时监测大棚内的环境参数，并根据作物生长需求自动调节。</p>

<p>系统还具备预警功能，当环境参数异常时会及时通知农户，避免因环境问题造成的损失。</p>`,
    coverImage: "https://picsum.photos/400/300?random=2",
    author: "智农科技",
    publishTime: "2024-01-14T14:20:00Z",
    viewCount: 980,
    likeCount: 67,
    commentCount: 15,
    isLiked: true
  },
  {
    id: 3,
    title: "有机农业发展迎来新机遇，绿色种植成为趋势",
    summary: "随着消费者对食品安全要求的提高，有机农业发展迎来新机遇。越来越多的农户开始转向绿色种植，市场前景广阔。",
    content: `<p>随着消费者对食品安全要求的提高，有机农业发展迎来新机遇。越来越多的农户开始转向绿色种植，市场前景广阔。</p>

<p>有机农业不使用化学农药和化肥，采用天然的种植方式，生产出的农产品更加安全健康。虽然成本相对较高，但市场价格也更有优势。</p>

<p>政府也出台了相关政策支持有机农业发展，为农户提供技术指导和资金扶持。</p>`,
    coverImage: null,
    author: "绿色农业网",
    publishTime: "2024-01-13T09:15:00Z",
    viewCount: 756,
    likeCount: 45,
    commentCount: 8,
    isLiked: false
  },
  {
    id: 4,
    title: "农产品电商平台助力乡村振兴，农民收入大幅增加",
    summary: "电商平台的兴起为农产品销售开辟了新渠道，许多农民通过网络销售农产品，收入得到大幅提升，为乡村振兴注入新动力。",
    content: `<p>电商平台的兴起为农产品销售开辟了新渠道，许多农民通过网络销售农产品，收入得到大幅提升，为乡村振兴注入新动力。</p>

<p>通过电商平台，农民可以直接面向消费者销售农产品，减少了中间环节，提高了利润空间。同时，电商平台还提供了品牌包装、物流配送等服务。</p>

<p>数据显示，参与电商销售的农户平均收入比传统销售方式提高了40%以上。</p>`,
    coverImage: "https://picsum.photos/400/300?random=4",
    author: "乡村振兴网",
    publishTime: "2024-01-12T16:45:00Z",
    viewCount: 1120,
    likeCount: 78,
    commentCount: 19,
    isLiked: false
  },
  {
    id: 5,
    title: "气候变化对农业影响加剧，适应性种植技术受关注",
    summary: "全球气候变化对农业生产带来挑战，适应性种植技术成为研究热点，帮助农业应对极端天气影响。",
    content: `<p>全球气候变化对农业生产带来挑战，适应性种植技术成为研究热点，帮助农业应对极端天气影响。</p>

<p>科研人员正在开发抗旱、抗涝、抗高温的新品种，同时推广节水灌溉、保护性耕作等技术，提高农业的气候适应能力。</p>

<p>专家建议，农户应根据当地气候特点选择合适的种植品种和技术，降低气候风险。</p>`,
    coverImage: "https://picsum.photos/400/300?random=5",
    author: "气候农业研究所",
    publishTime: "2024-01-11T11:30:00Z",
    viewCount: 892,
    likeCount: 56,
    commentCount: 12,
    isLiked: true
  }
]

// 模拟评论数据
export const mockComments = [
  {
    id: 1,
    newsId: 1,
    user: {
      id: 1,
      nickname: "农业爱好者",
      avatarUrl: null
    },
    content: "这个技术真的很先进，希望能在我们这里也推广应用！",
    likeCount: 12,
    isLiked: false,
    createTime: "2024-01-15T12:30:00Z"
  },
  {
    id: 2,
    newsId: 1,
    user: {
      id: 2,
      nickname: "老张",
      avatarUrl: "https://picsum.photos/80/80?random=1"
    },
    content: "无人机播种确实效率高，我们合作社去年就开始使用了，效果很好。",
    likeCount: 8,
    isLiked: true,
    createTime: "2024-01-15T13:15:00Z"
  },
  {
    id: 3,
    newsId: 1,
    user: {
      id: 3,
      nickname: "科技农民",
      avatarUrl: null
    },
    content: "成本怎么样？小农户能承受吗？",
    likeCount: 5,
    isLiked: false,
    createTime: "2024-01-15T14:20:00Z"
  }
]

// 生成模拟分页数据
export const generateMockPageData = (data, page = 0, size = 10) => {
  const startIndex = page * size
  const endIndex = startIndex + size
  const content = data.slice(startIndex, endIndex)
  
  return {
    content,
    totalElements: data.length,
    totalPages: Math.ceil(data.length / size),
    size,
    number: page,
    first: page === 0,
    last: endIndex >= data.length,
    numberOfElements: content.length
  }
}

// 模拟 API 延迟
export const mockDelay = (ms = 1000) => {
  return new Promise(resolve => setTimeout(resolve, ms))
}

// 模拟 API 响应
export const mockApiResponse = (data, success = true, message = '') => {
  return {
    code: success ? 200 : 500,
    message: message || (success ? '操作成功' : '操作失败'),
    data
  }
}
